#ifndef _RBTREE_H
#define _RBTREE_H

// 定义颜色
#define RED 0
#define BLACK 1

// 红黑树节点结构
typedef struct Node {
    int data;
    int color;
    struct Node *left, *right, *parent;
} Node;

// 全局的NIL节点，所有叶子节点都指向它
extern Node *NIL;

void initializeNIL();
void insertNode(Node **root, int data);
void inorder(Node *root);
Node* search(Node *root, int data);
void deleteNode(Node **root, Node *z) ;
void insertFixup(Node **root, Node *z);

#endif